Micron Document

The Problem With Scattered Blocks

The teletext pseudographics in the Symbols for Legacy Computing block are incomplete. That is, all of the necessary characters are present in Unicode, but where preexisting codepoints SHOULD be equivalent, they have been omitted from the legacy computing block. For example, when looking at the lower-right diagonal blocks (or "ramps", as I've been calling them), there SHOULD be a glyph called "LOWER RIGHT BLOCK DIAGONAL LOWER LEFT TO UPPER RIGHT", but there isn't. Instead, the "LOWER RIGHT TRIANGLE" glyph from the Geometric Shapes block is to be used for that diagonal.

┌1FB47 │
│┌1FB48 │
││┌1FB49 │
│││┌1FB4A │
││││┌1FB46 │
│││││┌1FB4B │ Symbols for Legacy Computing
││││││ ┌1FB45 │
││││││ │┌1FB43 │
││││││ ││┌1FB41 │
││││││ │││┌1FB42 │
││││││ ││││┌1FB44 │
🭇🭈🭉🭊🭆🭋◢🭅🭃🭁🭂🭄
└25E2 BLACK LOWER-RIGHT TRIANGLE, from Geometric Shapes

The problem is, in the overwhelming majority of the fonts I've tested, the metrics for the triangles in Geometric Shapes are NOT congruous with the diagonal blocks in Symbols for Legacy Computing (in fact, you, reading this right now, might be looking at 25E2 BLACK LOWER-RIGHT TRIANGLE up there and thinking, ick, that doesn't look like it fits in there). And this makes sense, as the Geometric Shapes block was designed/implemented in most fonts years before the Legacy Computing block was added to Unicode, so... when you've got glyphs that should be graphically harmonious with one another spread across multiple codepoint blocks which were specified years apart from one another, you've created a very difficult situation for type designers to comply with. I know of only four fonts that get this right: Fairfax, IBM 3270, Kreative Square, and good ol' GNU Unifont (make sure you've got Unifont Upper installed!).

BabelStone Pseudographica, it should be mentioned, also gets this particular thing right, but the glyph spacing within that font is different for pseudographic characters and text, so you can't use the usual SPACE character to build your arrays of graphic characters and must use the EM SPACE, which is fine I guess, but...

Oh, and the sextants, too, are incomplete.

For ultimate consistency, there would be glyphs named BLOCK SEXTANT-135, BLOCK SEXTANT-246, and BLOCK SEXTANT-123456, but these are not present. Instead, the glyphs LEFT HALF BLOCK, RIGHT HALF BLOCK, and FULL BLOCK from the Block Elements block are to be used. This, in my experience, hasn't been much of an issue and in pretty-much all of the fonts I've looked at, things line-up as you'd expect.

┌1FB2D │
│┌1FB39 │
││ ┌1FB0E │ "Symbols for Legacy Computing"
││ │┌1FB02 │
🬭🬹█🬎🬂 ▐▌
│ ││
│ │└258C Left Half Block │
│ └2590 Right Half Block │ "Block Elements"
└2588 Full Block │

But this approach to specifying blocks, prioritizing the avoidance of duplicate glyphs over grouping things into sensible blocks that type designers can implement as a coherent, contiguous set... I can't say that I agree with it.

Do you know what would be great? If our operating systems or applications allowed us to choose default fonts for specific Unicode ranges.


Next: [Q6U.0815] Fontconfig Crap
Previous: [Q6T.0089] The Ramps

Author: [LÆMEUR](LXMF)